package com.stellar.auth.controller.admin.authRole.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.stellar.core.util.DateFormatConstants;
import com.stellar.web.core.bean.PageInfo;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;


/**
 * 角色表(AuthRole)分页查询VO
 *
 * @author Jqchan
 * @since 2025-05-16
 */
@Data
public class AuthRoleRequestPageVO extends PageInfo implements Serializable {
    private static final long serialVersionUID = -48679364733215610L;

    /**
     * 主键
     */
    private Long id;
    /**
     * 角色名称（如 super_admin-超级管理员、school_admin学校管理员、normal_user普通用户））
     */
    private String roleName;
    /**
     * 角色唯一标识
     */
    private String roleKey;
    /**
     * 状态 disabled-禁用 enabled-启用
     */
    private String roleStatus;
    /**
     * 创建者
     */
    private String createdBy;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = DateFormatConstants.DATETIME_FORMAT_YYYY_MM_DD_HH_MM_SS, timezone = DateFormatConstants.TIME_ZONE_GMT_PLUS_8)
    private Date createdTime;
    /**
     * 更新者
     */
    private String updateBy;
    /**
     * 更新时间
     */
    @JsonFormat(pattern = DateFormatConstants.DATETIME_FORMAT_YYYY_MM_DD_HH_MM_SS, timezone = DateFormatConstants.TIME_ZONE_GMT_PLUS_8)
    private Date updateTime;
    /**
     * 是否删除：1-删除/0-未删除
     */
    private Integer isDeleted;

    @Data
    public static class DateRange {
        private LocalDateTime beginTime;
        private LocalDateTime endTime;
    }
}
